import { message } from 'ant-design-vue'
export default {
  // 数据新增千分符
  numFormat(num) {
    let firstStr = String(num).startsWith('-') ? String(num).slice(0, 1) : '' // 判断这个数字是不是负数
    num = firstStr ? String(num).slice(1) : String(num) // 如果是负数就截取掉负数 再进行千分符的添加
    num = num.split('.') // 分隔小数点
    let arr = num[0].split('').reverse() // 转换成字符数组并且倒序排列
    let res = []
    for (let i = 0, len = arr.length; i < len; i++) {
      if (i % 3 === 0 && i !== 0) {
        res.push(',') // 添加分隔符
      }
      res.push(arr[i])
    }
    res.reverse() // 再次倒序成为正确的顺序
    if (num[1]) {
      // 如果有小数的话添加小数部分
      res = res.join('').concat(`.${num[1]}`)
    } else {
      res = res.join('')
    }
    return firstStr ? `${firstStr}${res}` : res // 判断如果有负号，最后再添加到首位
  },

  /**
   *强制转换成数字类型并且默认保留2位小数
   *
   * @export
   * @param {*} data 要处理的值
   * @param {number} [serve=2] 要保留的小数位，默认为2位
   * @returns 0.00
   */
  toNumTFixed(data, serve = 2) {
    return Number(data).toFixed(serve)
  },
  // 保留2位小数并补位
  toNumTFixedZero(data) {
    if (!isNaN(+data)) {
      let num = Math.round(data * 100) / 100
      let str = num.toString()
      let rs = str.indexOf('.')
      if (rs < 0) {
        rs = str.length
        str += '.'
      }
      while (str.length <= rs + 2) {
        str += '0'
      }
      return str
    }
    return '0.00'
  },
}
// 复制到剪贴板
export function copyTextToClipboard(text) {
  if (navigator.clipboard) {
    // 使用 Clipboard API 复制文本
    navigator.clipboard
      .writeText(text)
      .then(() => {
        message.success('文本已复制到剪贴板')
      })
      .catch(() => {
        const textarea = document.createElement('textarea')
        textarea.value = text
        document.body.appendChild(textarea)
        // 选择文本内容
        textarea.select()
        try {
          // 尝试复制文本到剪贴板
          if (document.execCommand('copy')) {
            message.success('文本已复制到剪贴板')
          } else {
            message.success('复制失败，请手动复制文本')
          }
        } catch (error) {
          message.success(error)
        }

        // 移除创建的 textarea 元素
        document.body.removeChild(textarea)
      })
  } else {
    // 创建隐藏的 textarea 元素
    const textarea = document.createElement('textarea')
    textarea.value = text
    document.body.appendChild(textarea)

    // 选择文本内容
    textarea.select()

    try {
      // 尝试复制文本到剪贴板
      if (document.execCommand('copy')) {
        message.success('文本已复制到剪贴板')
      } else {
        message.success('复制失败，请手动复制文本')
      }
    } catch (error) {
      message.success(error)
    }

    // 移除创建的 textarea 元素
    document.body.removeChild(textarea)
  }
}
